package com.ale.oxetool.service;

import com.ale.oxetool.model.Phone;

import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.BlockingQueue;

/**
 * Created by guoshunw on 2015/10/13.
 */
public interface RemoteCommandService {

    boolean connect() throws IOException;
    boolean connect(boolean autoLogin) throws IOException;

    void disconnect() throws IOException;

    String sendCommand(String command) throws IOException;
    String sendCommand(String command, String sign) throws IOException;

    List<Phone> getPhoneInfoFromOXE(boolean autoDisconnect) throws IOException;
    List<Phone> getPhoneInfoFromOXE() throws IOException;

    String getHost();

    void setPool(BlockingQueue<RemoteCommandService> pool);

    void release() throws InterruptedException;
}
